Information processing apparatus, information processing system, and recording medium

ABSTRACT

An information processing apparatus is disclosed that is connected to a device and generates data processable by the device based on device information about the device. The information processing apparatus includes a processing content setting unit that specifies, based on the device information, processing content to be executed by the device; a command retrieving unit that, if the processing content specified by the processing content setting unit contains unknown information, retrieves a command corresponding to the unknown information from the device information; and a data generating unit that generates, based on the command retrieved by the command retrieving unit and the processing content, data processable by the device.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatusthat is connectable to a device, a recording medium having a programembodied therein, the program causing a computer to function as such aninformation processing apparatus, and an information processing systemincluding a device and an information processing apparatus connected toeach other.

2. Description of the Related Art

If an information processing apparatus such as, e.g., a personalcomputer (hereinafter referred to simply as a “PC”) is connected toperipheral devices such as, e.g., a printer, a scanner, and a facsimile(fax) machine on a network, the PC includes device drivers forconverting data generated by applications installed therein into dataprocessable by the peripheral devices.

FIG. 1 is a diagram illustrating an exemplary network configuration of arelated-art information processing system 10 including first and secondPCs 11 and 12 and first and second printers 13 and 14.

With reference to FIG. 1, the information processing system 10 includesthe first and second PCs 11 and 12, the first and second printers 13 and14, and a network 15 interconnecting the PCs 11 and 12 and the printers13 and 14 for enabling data communications among them.

The first PC 11 has an application 16 that runs on an OS (OperatingSystem), a first printer driver 17 for the first printer 13, and asecond printer driver 18 for the second printer 14.

The second PC 12 generally has the same configuration as the first PC11.

The first printer driver 17 includes a user interface (UI) module 171, aprint data generating module 172, a device information processing module173, and a storage unit 174.

The UI module 171 is adapted to display a setting screen for configuringthe first printer 13 based on device information about various functionsof a printer corresponding to the first printer driver 17, i.e., thefirst printer 13. A user enters settings of the functions of the firstprinter 13 on the setting screen displayed by the UI module 171. The UImodule 171 specifies processing content to be executed by the firstprinter 13 based on the settings entered by the user.

The print data generating module 172 is adapted to convert document dataand the like created or read by the application 16 into print datareadable by the first printer 13 according to the settings of thefunctions of the first printer 13 entered by the user. The deviceinformation processing module 173 is adapted to read out deviceinformation of the first printer 13 from the storage unit 174 to enablethe UI module 171 to display the setting screen. The storage unit 174 isadapted to store the device information of the first printer 13.

The second printer driver 18 generally has the same configuration as thefirst printer driver 17.

The term “device information” as used herein includes file informationthat associates device configuration information of a peripheral device,such as a printer, with command information related thereto. The“processing content” as used herein includes information about deviceinitialization, environments of a peripheral device, etc., and is storedin a DEVMODE structure. FIGS. 2A and 2B are diagrams schematicallyillustrating exemplary data structures of the device information and theprocessing content, respectively, according to a related-art technique.

Referring to FIG. 2A, the device information is stored in a table datastructure. The data structure shown in FIG. 2A includes columns 21, 22,and 23. The column 21 contains the names of functions of a printer. Thecolumn 22 contains data indicating whether the functions shown in thecolumn 21 are executable. If the column 22 contains data indicating thata function is executable and the presence of options for advancedsettings for executing the function, the column 23 contains the options.For example, in the case of a printer, “options” for executing a“staple” function may include positions at which the paper is stapled(“upper right”, “lower left”, etc.).

Referring to FIG. 2B, similar to the device information shown in FIG.2A, the processing content is stored in a table data structure for easeof understanding. The data structure shown in FIG. 2B includes columns24, and 25. The column 24 contains the names of the functions of theprinter. The column 25 contains a print setting entered on the settingscreen by the user, i.e., values of the options selected by the userfrom the column 23 of the device information shown in FIG. 2A.

The following describes operations of the printer driver 17 in therelated-art information processing system shown in FIG. 1.

For instance, if a user requests to configure print settings of thefirst printer 13 of FIG. 1, in step S101, a setting screen callingrequest is sent from the application 16 to the UI module 171 so as todisplay a setting screen for print setting of the first printer 13. Uponreception of the request from the application 16, in step S102, the UImodule 171 sends a device information retrieval instruction to thedevice information processing module 173 so as to retrieve deviceinformation of the first printer 13. The device information processingmodule 173 reads out the device information stored in the storage unit174 (FIG. 1) in step S103, and sends the read device information to theUI module 171 in step S104. In step S105, the UI module 171 displays thesetting screen for specifying print settings of the first printer 13 ona display unit (not shown) such as a monitor based on the deviceinformation sent from the device information processing module 173. Instep S106, a user enters print setting values for the first printer 13on the setting screen displayed by the UI module 171 with use of inputunits such as a mouse and a keyboard (not shown). In step S107, the UImodule 171 specifies processing content to be executed by the firstprinter 13 according to the setting values entered by the user and, instep S108, sends the specified processing content to the application 16.After that, in step S109, the application 16 stores the processingcontent.

In step S110, on the application 16, the user makes a request forprinting by the first printer 13. Then, in step S111, the print datagenerating module 172 reads in the processing content stored in theapplication 16. In step S112, the print data generating module 172generates print data readable by the first printer 13 based on the readprocessing content and, in step S113, sends the generated print data tothe first printer 13 or a spooler (not shown). After that, in step S114,the print data generating module 172 sends a transmission completionreport to the application 16. In step S115, the application 16 receivesthe transmission completion report. Thus, print processing is completed.

As described above, according to related art, a PC typically includesprinter drivers one for each printer connected to the PC. In otherwords, a PC includes the same number of printer drivers as the number ofprinters to be used.

Japanese Patent Laid-Open Publication No. 2004-310488 (Patent Document1), for example, discloses a printing system that includes a singledriver for printers of the same type. In the printing system disclosedin Patent Document 1, the same identifier is assigned to printers of thesame type, which have different network IDs, thereby eliminating theneed for installing the same number of printer drivers as the number ofthe printers into a terminal that manages the printers.

In the case of replacing a current device with a new device for reasonssuch as service life or failure, if the new device has an additional newfunction although the type of the new device is the same as the currentdevice, a device driver supporting the added function needs to beinstalled in an information processing apparatus.

Japanese Patent Laid-Open Publication No. 2005-173701 (Patent Document2), for example, discloses an information processing apparatus that addsa new function by installing a plug-in module in place of installing anentire driver.

According to the printing system disclosed in Patent Document 1, onlywhen all the printers are of the same type, the terminal does notrequire more than one printer driver. However, if the printers are ofthe different types, plural printer drivers need to be installed in theterminal.

According to the information processing apparatus disclosed in PatentDocument 2, users need to select a plug-in module to be added from alist of available plug-in modules. That is, the users need to know thefunctions of the available plug-in modules, which remains a burden tothe users.

Recently, there have been developed so-called universal drivers that canbe commonly used not only among devices of the same vendor but alsodevices of different vendors. Presently, however, such a universaldriver only has device information about functions common to thosedevices. Accordingly, in many cases, it is impossible to use a functionspecific to each device. Another problem with such a universal driver isthat, if a function is added to a device supported by a universaldriver, another universal driver needs to be installed.

SUMMARY OF THE INVENTION

The present invention solves one or more of the above describedproblems. The present invention is directed to an information processingdevice and an information processing system capable of generating dataprocessable by a device irrespective of the type of the device andfunction enhancement to the device.

According to an aspect of the present invention, there is provided aninformation processing apparatus that is connected to a device andgenerates data processable by the device based on device informationabout the device, the information processing apparatus comprising: aprocessing content setting unit that specifies, based on the deviceinformation, a processing content to be executed by the device; acommand retrieving unit that, if the processing content specified by theprocessing content setting unit contains unknown information, retrievesa command corresponding to the unknown information from the deviceinformation; and a data generating unit that generates, based on thecommand retrieved by the command retrieving unit and the processingcontent, data processable by the device.

With this configuration, the information processing apparatus is capableof generating data processable by the device regardless of the type ofthe device and providing function enhancement to the device.

It is preferable that the device information include referenceinformation containing a setting value that represents a setting of afunction executable by the device and a command corresponding to thesetting value.

With this configuration, it is possible to update the device informationstored in the information processing apparatus to match the currentdevice information about the device.

It is also preferable that the processing content setting unit specifythe processing content to be executed by the device with the settingvalue, and that the command retrieving unit retrieve, based on thesetting value with which the processing content is specified, thecommand from the reference information.

With this configuration, in the case where the device information storedin the information processing apparatus is updated to match the currentdevice information about the device, it is possible to specify theprocessing content with the setting value contained in the referenceinformation, and to retrieve a command for generating data processableby the device from the reference information based on the setting valuewith which the processing content is specified.

It is also preferable that the device information include firstreference information containing extended function informationrepresenting an extended function of the device and an extended functioncommand corresponding to the extended function information, and that thefirst reference information include second reference informationcontaining an extended function setting value that represents a settingof the extended function and an extended function setting commandcorresponding to the extended function setting value.

With this configuration, it is possible to update the device informationstored in the information processing apparatus to match the currentdevice information about the device.

It is also preferable that the processing content setting unit specifythe processing content with the extended function information and theextended function setting value, and that the command retrieving unitretrieve, based on the extended function information and the extendedfunction setting value with which the processing content is specified,the extended function command and the extended function setting commandfrom the first reference information and the second referenceinformation, respectively.

With this configuration, in the case where the device information storedin the information processing apparatus is updated to match the presentdevice information about the device, it is possible to specify theprocessing content with the information and the setting value containedin the reference information, and to retrieve a command for generatingdata processable by the device from the reference information based onthe information and the setting value with which the processing contentis specified.

It is also preferable that the processing content include a fixed areafor containing information about an original function of the device anda setting value that represents a setting of the original function, andan extended area for containing the extended function information andthe extended function setting value.

This configuration enables the information processing apparatus tohandle new information in the present device information included uponthe function enhancement of the device.

It is also preferable that the information processing apparatus furthercomprise a setting screen display unit that displays a setting screenfor specifying, based on the device information, the processing contentto be executed by the device.

This configuration allows users to visually recognize the settings ofthe device and perform setting of the device.

It is also preferable that the information processing apparatus furthercomprise a command memory unit that stores a command recognizable by thedevice in a manner associated with a setting value recognizable by thedata generating unit, and that the command retrieving unit determine, ifthe processing content specified by the processing content setting unitcontains a setting value that is not stored in the command memory unit,the setting value as being the unknown information.

With this configuration, it is possible to handle values that are notprestored as unknown information pieces.

According to an aspect of the present invention, there is provided aninformation processing apparatus that is connected to a device andgenerates data processable by the device based on device informationabout the device, the information processing apparatus comprising: aprocessing content setting unit that specifies, based on the deviceinformation, a processing content to be executed by the device; acommand retrieving unit that, if the processing content specified by theprocessing content setting unit contains unknown information, retrievesa command corresponding to the unknown information from the deviceinformation; and a data generating unit that generates, based on thecommand retrieved by the command retrieving unit and the processingcontent, data processable by the device.

According to still another aspect of the present invention, there isprovided an information processing system comprising an informationprocessing apparatus, a device, and a storage unit. The storage unitstores device information about a function executable by the device. Theinformation processing apparatus includes a device informationretrieving unit that retrieves the device information from the storagedevice; a processing content setting unit that specifies, based on thedevice information, a processing content to be executed by the device; acommand retrieving unit that, if the processing content specified by theprocessing content setting unit contains unknown information, retrievesa command corresponding to the unknown information from the deviceinformation retrieved by the device information retrieving unit; a datagenerating unit that generates, based on the command retrieved by thecommand retrieving unit and the processing content, data processable bythe device; and a data sending unit that sends the data generated by thedata generating unit to the device. The device includes a data receivingunit that receives data sent from the information processing apparatus;and a data processing unit that processes data received by the datareceiving unit.

Embodiments of the present invention provide an information processingapparatus, a recording medium, and an information processing system thatare capable of generating data processable by a device regardless of thetype of the device and function enhancement to the device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an exemplary network configuration ofan information processing system according to a related-art technique;

FIG. 2A is a diagram schematically showing an exemplary data structureof device information according to a related-art technique;

FIG. 2B is a diagram schematically showing an exemplary data structureof processing content according to a related-art technique;

FIG. 3 is a sequence diagram illustrating processing performed by aprinter driver according to a related-art technique;

FIG. 4 is a diagram illustrating an exemplary hardware configuration ofa computer according to an embodiment of the present invention;

FIG. 5 is a diagram illustrating an exemplary functional configurationof a computer according to an embodiment of the present invention;

FIG. 6 is a diagram illustrating an exemplary network configuration ofan information processing system according to an embodiment of thepresent invention;

FIG. 7 is a block diagram illustrating an exemplary configuration of aprinter driver in a computer according to an embodiment of the presentinvention;

FIG. 8 is a sequence diagram illustrating processing performed by aprinter driver according to an embodiment of the present invention;

FIG. 9 shows an example of a setting screen for configuring functions ofa computer according to Embodiment 1;

FIG. 10A is a diagram schematically showing an exemplary data structureof device information according to Embodiment 1;

FIG. 10B is a diagram schematically showing an exemplary data structureof reference information associated with the device information of FIG.10A;

FIG. 10C is a diagram schematically showing an exemplary data structureof processing content based on the device information of FIG. 10A andthe reference information of FIG. 10B;

FIG. 11 is a flowchart illustrating an example of a command retrievaloperation performed by a printer driver for the processing content inFIG. 10C according to Embodiment 1;

FIG. 12 shows an example of a setting screen for configuring functionsof a computer according to Embodiment 2;

FIG. 13A is a diagram schematically showing an exemplary data structureof device information according to Embodiment 2;

FIG. 13B is a diagram schematically showing an exemplary data structureof first reference information associated with the device information ofFIG. 13A;

FIG. 13C is a diagram schematically showing an exemplary data structureof second reference information associated with the first referenceinformation of FIG. 13B;

FIG. 13D is a diagram schematically showing an exemplary data structureof processing content based on the device information of FIG. 13A, thefirst reference information of FIG. 13B, and the second referenceinformation of FIG. 13C; and

FIG. 14 is a flowchart illustrating an example of command retrievaloperations performed by a printer driver for the processing content inFIG. 13D according to Embodiment 2.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The following describes preferred embodiments of the present inventionwith reference to the accompanying drawings.

FIG. 4 is a diagram illustrating an exemplary hardware configuration ofa computer 40 according to an embodiment of the present invention. Asshown in FIG. 4, the computer 40 comprises a drive unit 41, a secondarystorage unit 42, a memory unit 43, a processing unit 44, an interfaceunit 45, and a bus 46 interconnecting these units. Programs to beexecuted by the computer 40 are provided by a recording medium 47 suchas a CD-ROM.

The drive unit 41 is adapted to read the recording medium 47. When therecording medium 47 with a program recorded therein is loaded into thedrive unit 41, the program is installed into the secondary storage unit42 from the recording medium 47 through the drive unit 41. In thisembodiment, although various device drivers such as printer drivers andPC-FAX drivers are applicable as a program recorded in the recordingmedium 47, a printer driver is illustrated as an example in thefollowing description for ease of explanation.

The secondary storage unit 42 is adapted to store the installed programas well as necessary files and data. The memory unit 43 is adapted toread out the program from the secondary storage unit 42 in response toan instruction for activating the program, and holds the programtherein. The processing unit 44 is adapted to execute a function of thecomputer 40 according to the program held in the memory unit 43. Theinterface unit 45 is adapted to connect the computer 40 to an outsidenetwork or a public line.

FIG. 5 is a diagram illustrating an exemplary functional configurationof the computer 40. With reference to FIG. 5, the computer 40 isconnected to a printer 50 via a network, and comprises an application410, a drawing service 420, a printer driver 430, and a print datatransmission service 440. The computer 40 is not limited to a generalpurpose PC and may include a server PC, a PDA (personal DigitalAssistant), a portable terminal such as a cellular phone, and a deviceembedded in a printer or a compound machine.

The application 410 is a program that runs on an OS such as, e.g.,Windows (TM), and is a general purpose application such as, e.g.,document processing software and spreadsheet software.

The drawing service 420 is a drawing engine that runs on an OS, and istypically included in a GDI (Graphic Device Interface) together with aninterface connecting the application 410 and the drawing service 420.

The printer driver 430 is adapted to convert internal commands for theOS into print data, i.e., so-called Page Description Language (PDL)data, readable by the printer 50. Generally, the GDI and the printerdriver 430 are interconnected through an interface called DDI (DeviceDriver Interface).

The print data transmission service 440 is a so-called spooler, whichspools the PDL data generated by the printer driver 430. The PDL dataspooled by the spooler 440 are transmitted from a print port to theprinter 50 through the network.

FIG. 6 is a diagram illustrating an exemplary network configuration ofan information processing system 60 in which plural of theabove-described computer 40 and printers are interconnected.

With reference to FIG. 6, the information processing system 60 includesfirst and second computers 40 a and 40 b, first and second printers 50 aand 50 b, and a network 65 interconnecting the computers 40 a and 40 band the printers 50 a and 50 b for enabling data communications amongthem.

The first computer 40 a includes an application 410 and a printer driver430. The second computer 40 b generally has the same configuration asthe first computer 40 a.

The first and second printers 50 a and 50 b include storage units 510and 520, respectively. The storage units 510 and 520 are adapted tostore device information about functions of the first and secondprinters 50 a and 50 b, respectively.

The printer driver 430 includes a user interface (UI) module 431, aprint data generating module 432, and a device information processingmodule 433.

The UI module 431 is adapted to display a setting screen for configuringthe first and second printers 50 a and 50 b based on device informationabout various functions of the first and second printers 50 a and 50 b,respectively. A user enters settings of the functions of each of thefirst and second printers 50 a and 50 b on the setting screen displayedby the UI module 431. The UI module 431 specifies processing content tobe executed by the first and second printers 50 a and 50 b,respectively, based on the settings entered by the user.

The print data generating module 432 is adapted to convert documentdata, etc., created or read by the application 410 into print datareadable by the first and second printers 50 a and 50 b according to thesettings of the functions of the first and second printers 50 a and 50b, respectively, entered by the user. The device information processingmodule 433 is adapted to read out device information of the first andsecond printers 50 a and 50 b from the storage units 501 and 520,respectively, to enable the UI module 431 to display the setting screen.

The following describes processing performed by the computer 40 indetail.

FIG. 7 is a block diagram illustrating an exemplary configuration of theprinter driver 430 included in the computer 40 according to the presentembodiment.

The printer driver 430 includes the user interface (UI) module 431, theprint data generating module 432, and the device information processingmodule 433.

The device information processing module 433 includes a deviceinformation retrieving unit 711 that retrieves device information abouta function executable by a printer connected via the network as shown inFIG. 6, device information storing unit 712 that stores previouslyretrieved device information about the printer or other printers, and aninformation comparing unit 713 that compares device informationretrieved by the device information retrieving unit 711 and the deviceinformation stored in the device information storing unit 712. Based onthe result of comparison by the information comparing unit 713, thedevice information stored in the device information storing unit 712 isupdated with use of new information contained in the device informationretrieved by the device information retrieving unit 711.

The UI module 431 includes a processing content setting unit 721 thatgenerates, based on the device information stored in the deviceinformation storing unit 712, a setting screen on which print settingfor document data to be printed is entered, and stores processingcontent entered on the setting screen into the below-described DEVMODEstructure or the like, a display unit 722 that displays the settingscreen generated by the processing content setting unit 721 on a monitoror the like (not shown), and an input unit 723 that receives user'sinput through a keyboard, a mouse, and the like.

The application 410 includes a processing content storing unit 731 thatstores the processing content specified by the processing contentsetting unit 721. The processing content storing unit 731 may includepredetermined types of structures such as a DEVMODE structure (describedbelow).

The print data generating module 432 includes the processing contentreading unit 741 that reads in the processing content stored in theprocessing content storing unit 731, a command retrieving unit 742 thatexamines the read processing content so as to determine whether the readprocessing content contains information unknown to the print datagenerating module 432 and, if unknown information is contained,retrieves a command corresponding to the unknown information, a datagenerating unit 743 that generates print data readable by the printerbased on the command retrieved by the command retrieving unit 742 andthe processing content read by the processing content reading unit 741,and a command memory unit 744 that stores a command recognizable by theprinter in a manner associated with a setting value recognizable by theprint data generating module 432.

The command retrieving unit 742 compares the setting values contained inthe processing content read by the processing content reading unit 741with the setting values stored in the command memory unit 744 so as todetermine whether the processing content read by the processing contentreading unit 741 contains information unknown to the data generatingmodule 743. More specifically, the command memory unit 744 storesinformation such as items or values prestored in a fixed area in aDEVMODE structure (described below), and command retrieving unit 742recognizes information not stored in the fixed area as unknowninformation.

The data generating unit 743 retrieves a command corresponding to thesetting value contained in the processing content read by the processingcontent reading unit 741, and generates print data based on theretrieved command and the command retrieved by the command retrievingunit 742. The print data generated by the data generating unit 743 aresent to the spooler 440.

The following describes processing performed by the printer driver 430with reference to the sequence diagram shown in FIG. 8.

For instance, if a user requests to configure a print setting of thefirst printer 50 a of FIG. 6, (e.g. if a user presses a “properties”button on a print setting screen of an application running on Windows(TM)), in step S201, a setting screen calling request is sent from theapplication 410 to the UI module 431 so as to display a setting screen(e.g. a properties screen) for print setting of the first printer 50 a.Upon reception of the request from the application 410, in step S202,the UI module 431 sends a device information retrieval instruction tothe device information processing module 433 so as to retrieve deviceinformation of the first printer 50 a.

Upon reception of the instruction from the UI module 431, in step S203,the device information processing module 433 reads out the deviceinformation stored in the storage unit 510 of the first printer 50 a byusing the device information retrieving unit 711. Then, in step S204,the information comparing unit 713 compares the device information readout by the device information retrieving unit 711 with the deviceinformation stored in the device information storing unit 712 so as toupdate the device information in the device information storing unit 712using new information contained in the device information read out bythe device information retrieving unit 711. In this way, the deviceinformation in the device information storing unit 712 is rewritten toreflect currently executable functions of the first printer 50 a. Instep S205, the updated device information is sent to the UI module 431.

Upon reception of the device information from the device informationprocessing module 433, in step S206, the UI module 431 generates asetting screen for specifying settings of the functions of the firstprinter 50 a based on the received device information, and displays thesetting screen on the display unit 722. In step S207, a user entersprint setting values for the first printer 50 a on the setting screendisplayed by the display unit 722 with use of the input unit 723. Instep S208, the processing content setting unit 721 specifies processingcontent to be executed by the first printer 50 a according to thesetting values entered by the user with use of the input unit 723. Instep S209, the processing content is sent to the application 410. Afterthat, in step S210, the application 410 stores the processing content into the processing content storing unit 731.

In step S211, on the application 16, the user makes a request forprinting by the printer 50 a. Then, in step S212, the processing contentreading unit 741 of the print data generating module 432 reads in theprocessing content stored in the processing content storing unit 731 ofthe application 410. In step S213, the command retrieving unit 742compares the setting values contained in the read processing contentwith the setting values stored in the command memory unit 744 so as todetermine whether the read processing content contains informationunknown to the print data generating module 432. If unknown informationis contained, in step S214, the command retrieving unit 742 queries thedevice information processing module 433 for the unknown information. Instep S215, the device information processing module 433 reads out thedevice information stored in the device information storing unit 712,and extracts, from the read device information, a command correspondingto the unknown information for which the command retrieving unit 742queries. Then, in step S216, the device information processing module433 sends the command to the command retrieving unit 742.

In step S217, the command retrieving unit 742 receives the command fromthe device information processing module 433. In step S218, based onthis command and the processing content read by the processing contentreading unit 741 in step S212, the data generating unit 743 generatesprint data readable by the first printer 50 a. In step S219, thegenerated print data are sent to the spooler 440. After that, in stepS220, the print data generating module 432 sends a transmissioncompletion report to the application 410. In step S221, the application410 receives the transmission completion report. Thus, print processingis completed.

In this way, in the case where plural printers of different types areconnected to the computer of this embodiment, the computer reads outdevice information from a desired printer and retrieves a commandcorresponding to unknown information from the device information asneeded, instead of prestoring device information of all the printers. Itis thus possible to support the different types of printers by a singleprinter driver.

Furthermore, in the case where functions of a printer supported by aprinter driver that has been installed in the computer are enhanced, thecomputer retrieves a command corresponding to a new function added uponthe function enhancement. It is therefore possible to easily support theenhanced function of the printer without installing another printerdriver.

The following describes processing and data structures with reference tospecific embodiments.

Embodiment 1

[Configuration of Setting Screen]

FIG. 9 shows an example of a setting screen for configuring functions ofa computer according to the present embodiment.

The setting screen of FIG. 9 includes an item (“Paper Type”) forselecting the type of paper to be used for printing. For selecting thepaper type on the setting screen, an option list 90 is displayed. Theoption list 90 includes a default part 91 and an additional part 92. Thedefault part 91 includes information known to the computer contained inthe device information retrieved from the printer, while the additionalpart 92 includes information unknown to the computer. That is, theadditional part 92 includes as new information the information that isadded, upon the retrieval of the new device information from theprinter, to the device information already stored in the computer.

The setting screen of FIG. 9 is generated based on device information ofFIG. 10A and reference information of FIG. 10B associated with thedevice information, both of which are in table data structures. When oneof the options in the additional part 92 is selected in the settingscreen of FIG. 9, a processing content is represented in a table asshown in FIG. 10C. It is to be noted that the data structures of thedevice information, the reference information, and the processingcontent are not limited to the table structures and may be otherstructures.

[Data Structures of Device Information and Processing Content]

FIG. 10A is a diagram schematically showing an exemplary data structureof the device information according to the present invention.

As described with reference to FIGS. 7 and 8, the printer driver 430compares device information read out from a desired printer with theknown device information by using the information comparing unit 713,extracts new information, i.e., additional information about options fora function contained in the device information read from the printer,and adds the new information to the known device information. The thusupdated device information is stored into the device information storingunit 712 in the data structure as shown in FIG. 10A.

The data structure shown in FIG. 10A includes columns 210, 220, and 230.The column 210 contains the names of functions of the printer, and thecolumn 220 contains data indicating whether the functions shown in thecolumn 210 are executable. If the column 220 contains data indicatingthat a function being executable and the presence of options foradvanced settings for executing the function, the column 230 containsthe options. If the column 210 includes a function to which new optionsare added, e.g., the function “Paper Type”, in place of storing optionsfor the “Paper Type”, the corresponding row in the column 230 isassociated with reference information indicating the options for the“Paper Type”.

FIG. 10B is a diagram schematically showing an exemplary data structureof the reference information associated with the device information ofFIG. 10A.

The data structure shown in FIG. 10B includes columns 260, 270, and 280.The column 260 contains character strings to be actually displayed onthe setting screen. The column 270 contains setting values, which arerecognizable by the printer driver, corresponding to the individualoptions. The column 280 contains commands, which are recognizable by theprinter, corresponding to the individual options. As in the case of thedevice information, the reference information is also stored into thedevice information storing unit 712.

As described above with reference to FIGS. 7 and 8, the printer driver430 displays the setting screen on the display unit 722 based on thedevice information stored in the device information storing unit 712. Asin this embodiment, if options are added to a function, the settingscreen as shown in FIG. 9 is displayed based on the device informationof FIG. 10A and the reference information of FIG. 10B. On the settingscreen of FIG. 9, the option list 90 for “Paper Type” are based on thecharacter strings contained in the column 260 of the referenceinformation of FIG. 10B.

FIG. 10C is a diagram schematically showing an exemplary data structureof the processing content based on the device information of FIG. 10Aand the reference information of FIG. 10B according to the presentembodiment.

The data structure shown in FIG. 10C is a DEVMODE structure, andincludes columns 240 and 250. The column 240 contains the names of thefunctions of the printer. The column 250 contains values of printsetting entered by the user on the setting screen, i.e., the valuesselected by the user from the options in the column 230 of the deviceinformation of FIG. 10A or from the reference information of FIG. 10B.Although DEVMODE structures generally include a fixed area and anextended area, the present embodiment uses only the fixed area.

Assume that, after the device information of FIG. 10A and the referenceinformation of FIG. 10B are stored, a user specifies the paper type onthe setting screen of FIG. 9 to select an option in the additional part92 in the option list 90. For instance, if a user selects an option“Special 3A”, as shown in FIG. 10C, the setting value “512”corresponding to the character string “Special Paper 3A” in thereference information of FIG. 10B is stored into a predetermined fieldrepresenting the setting of the function “Paper Type” in the processingcontent. Then, the processing content having the data structure as shownin FIG. 10C is stored into the application 410.

After that, if a user makes, on the application 410, a request forprinting by the printer, the printer driver 430 reads the processingcontent from the application 410 in order to generate print datareadable by the printer. The printer driver 430 compares the settingvalue contained in the read processing content with the setting valuestored in the command memory unit 744 so as to determine whether theread processing content contains information unknown to the print datagenerating module 432. The printer driver 430 recognizes, as unknowninformation, the information newly added upon retrieval of the deviceinformation from the printer. According to this embodiment, in theprocessing content in FIG. 10C, the setting value “512” is recognized asunknown information.

As described above with reference to FIGS. 7 and 8, the printer driver430 retrieves, if unknown information is contained in the processingcontent, a command corresponding to the unknown information from thedevice information in order to generate print data readable by theprinter. The following describes this command retrieval operation ingreater detail with reference to the block diagram of FIG. 7 and theflowchart of FIG. 11.

[Command Retrieval and Data Generation]

FIG. 11 is a flowchart illustrating an example of a command retrievaloperation performed by a printer driver for the processing contenthaving a data structure as shown in FIG. 10C according to the presentembodiment.

A user makes a request for printing by a desired printer. Then, in stepS301, the processing content reading unit 741 of the print datagenerating module 432 reads in processing content, which has a datastructure as shown in FIG. 10C, stored in the processing content storingunit 731 of the application 410. Then, in step S302, the processingcontent reading unit 741 extracts and reads in only a fixed area fromthe read processing content. In step S303, the command retrieving unit742 reads out the print setting contained in the column 250 of FIG. 10Cin the order from the first row of the read fixed area. Then, thecommand retrieving unit 742 compares the setting values contained in theprint setting with the setting values stored in the command memory unit744 and, in step S304, determines whether the read print settingcontains an unknown setting value.

If the print setting is determined not to contain any unknown settingvalues, the processing goes to step S305, in which the commandretrieving unit 742 generates a command corresponding to the printsetting.

If the print setting is determined to contain an unknown setting value,the processing goes to step S306, in which the command retrieving unit742 queries the device information processing module 433 for the unknownsetting value. In step S307, the device information processing module433 reads out the device information (in this embodiment, the deviceinformation having a data structure as shown in FIG. 10A) stored in thedevice information storing unit 712, and extracts from the read deviceinformation a command corresponding to the unknown information for whichthe command retrieving unit 742 queries. Then, in step S308, the deviceinformation processing module 433 sends the command to the commandretrieving unit 742.

If “512” in the processing content of FIG. 10C as the setting value forthe paper type in the print setting is unknown, the command retrievingunit 742 queries the device information processing module 433 for thepaper type setting value “512”. In response to the query from thecommand retrieving unit 742, the device information processing module433 reads out the device information of FIG. 10A stored in the deviceinformation storing unit 712. As the “Paper Type” in the deviceinformation of FIG. 10A is associated with reference information, thedevice information processing module 433 further reads out the referenceinformation of FIG. 10B also stored in the device information storingunit 712. It is determined from the reference information of FIG. 10Bthat the command corresponding to the setting value “512” informationstoring unit 712, and extracts from the read device information acommand corresponding to the unknown information for which the commandretrieving unit 742 queries. Then, in step S308, the device informationprocessing module 433 sends the command to the command retrieving unit742.

If “512” in the processing content of FIG. 10C as the setting value forthe paper type in the print setting is unknown, the command retrievingunit 742 queries the device information processing module 433 for thepaper type setting value “512”. In response to the query from thecommand retrieving unit 742, the device information processing module433 reads out the device information of FIG. 10A stored in the deviceinformation storing unit 712. As the “Paper Type” in the deviceinformation of FIG. 10A is associated with reference information, thedevice information processing module 433 further reads out the referenceinformation of FIG. 10B also stored in the device information storingunit 712. It is determined from the reference information of FIG. 10Bthat the command corresponding to the setting value “512” for which thecommand retrieving unit 742 queries is “SPECIAL3A”. The deviceinformation processing module 433 returns the command “SPECIAL3A” to thecommand retrieving unit 742.

In this way, the print data generating module 432 can retrieve a commandcorresponding to an unknown setting value, i.e., a command correspondingto a newly added option with use of the command retrieving unit 742.

After generation of the command in step S305, or after retrieval of thecommand in steps S306 through S308, in step S309, the command retrievingunit 742 determines whether the fixed area contains another settingvalue that is not yet read out.

If the fixed area is determined to contain another setting value that isnot yet read out, the processing returns to step S303 for performing acommand retrieval operation or a command generation operation.

On the other hand, if the determination result shows that all thesetting values in the fixed area are read out and commands correspondingto the setting values are retrieved or generated, the processing goes tostep S310. In step S310, the data generating unit 743 generates printdata readable by the printer, e.g., PJL (Printer Job Language) sectionof PDL data by using the commands retrieved or generated by the commandretrieving unit 742, and sends the print data to the spooler 440.

In this way, in the case where a printer having a different functionfrom other printers is connected to the computer of this embodiment, thecomputer stores, as reference information, new information retrievedfrom the printer in a manner associated with device information that hasbeen stored in the printer driver. Thus, the computer retrieves acommand from the reference information, and can generate print datareadable by the printer with use of the retrieved command.

Embodiment 2

[Configuration of Setting Screen]

FIG. 12 shows an example of a setting screen for configuring functionsof a computer according to the present embodiment.

The setting screen of FIG. 12 includes a tab page 1200 for configuringextended functions of a printer. If no extended function is added to theprinter, a setting screen 121 is shown, in which an area 1210 does notdisplay any name of an extended function to prevent users fromspecifying the setting of the extended function. On the other hand, ifan extended function is added to the printer, a setting screen 122 isshown, in which an area 1220 displays the name of the extended function.Further, an option list 1230 is provided for specifying the setting ofthe extended function. The user can configure the extended function asin the case of configuring functions that the printer originally has.

In the setting screen 122 of FIG. 12, “Z Folding” is added as theextended function. Further, an option list 1230 including “Off”, “Left”,“Right”, and “Top” is added for specifying the necessity of forming afolding line and the location of the folding line.

The extended function is information that is added, upon retrieval ofthe new device information from the printer, as new information to thedevice information already stored in the computer.

The setting screen of FIG. 12 is generated based on device informationof FIG. 13A, first reference information of FIG. 13B associated with thedevice information, and second reference information of FIG. 13Cassociated with the first reference information, each of which is in atable data structure. When an extended function is displayed in the area1220 in the setting screen 122 of FIG. 12, the processing content isrepresented in a table as shown in FIG. 13D. It is to be noted that thedata structures of the device information, the first and secondreference information, and the processing content are not limited to thetable structures and may be other structures.

[Data Structures of Device Information and Processing Content]

FIG. 13A is a diagram schematically showing an exemplary data structureof device information according to the present invention.

As described with reference to FIGS. 7 and 8, the printer driver 430compares device information read out from a desired printer with theknown device information by using the information comparing unit 713,extracts new information, i.e., additional information about an extendedfunction of the printer contained in the device information read fromthe printer, and adds the new information to the known deviceinformation. The thus updated device information is stored into thedevice information storing unit 712 in the data structure as shown inFIG. 13A.

The data structure shown in FIG. 13A includes columns 2100, 2200, and2300. The column 2100 contains the names of functions of the printer,and the column 2200 contains data indicating whether the functions shownin the column 2100 are executable. If the column 2200 contains dataindicating that a function is executable and the presence of options foradvanced settings for executing the function, the column 2300 containsthe options. If the column 2100 includes an extended function, in placeof storing information indicating executability of the extended functionand options for the extended function, the corresponding row in thecolumns 2200 and 2300 is associated with the first referenceinformation, which contains the name of the extended function.

FIG. 13B is a diagram schematically showing an exemplary data structureof the first reference information associated with the deviceinformation of FIG. 13A.

The data structure shown in FIG. 13B includes columns 2610, 2620, and2630. The column 2610 contains character strings to be actuallydisplayed on the setting screen. The columns 2620 contains field IDsthat indicate predetermined fields in the data structure of theprocessing content. The column 2630 contains printer readable commandscorresponding to the individual options. In the column 2640, theextended function is associated with the second reference information,which indicates options for the extended function.

FIG. 13C is a diagram schematically showing an exemplary data structureof the second reference information associated with the first referenceinformation of FIG. 13B.

The data structure shown in FIG. 13C includes columns 2710, 2720, and2730. The column 2710 contains character strings to be actuallydisplayed on the setting screen. The column 2720 contains settingvalues, which are recognizable by the printer driver, corresponding tothe individual options. The column 2730 contains commands, which arerecognizable by the printer, corresponding to the individual options.

As in the case of the device information, the first and second referenceinformation is also stored into the device information storing unit 712.

As described above with reference to FIGS. 7 and 8, the printer driver430 displays the setting screen on the display unit 722 based on thedevice information stored in the device information storing unit 712. Ifan extended function is added to the printer, the setting screen asshown in FIG. 12 is displayed based on the device information of FIG.13A, the first reference information of FIG. 13B, and the secondreference information of FIG. 13C. In the setting screen 122 of FIG. 12,the function name “Z folding” displayed in the area 1220 corresponds tothe character string contained in the column 2610 of the first referenceinformation of FIG. 13B. The options displayed in the option list 1230correspond to the character strings contained in the column 2710 of thesecond reference information of FIG. 13C.

FIG. 13D is a diagram schematically showing an exemplary data structureof the processing content based on the device information of FIG. 13A,and the first reference information of FIG. 13B, and the secondreference information of FIG. 13C according to the present embodiment.

The data structure shown in FIG. 13D is a DEVMODE structure, andincludes columns 2400 and 2500. The data structure of FIG. 13D has afixed area 200 a and an extended area 200 b.

The fixed area 200 a stores settings of functions that the printeroriginally has, i.e., original functions of the printer. In the fixedarea 200 a, the column 2400 contains the names of the originalfunctions; and the column 2500 contains values of the print settingentered on the setting screen by the user, i.e., the values selected bythe user from the options in the column 2300 of the device informationof FIG. 13A or, if options for a function are added as in the case ofEmbodiment 1, from the reference information of FIG. 10B.

The extended area 200 b stores settings of functions added to theprinter, i.e., extended functions of the printer. In the extended area200 b, the column 2400 contains field IDs indicating the locations ofthe fields in the extended area 200 b. The column 2500 contains flags2510 indicating the presence of the extended functions and a value 2520of the print setting entered on the setting screen by the user, i.e., avalue of the option selected by the user from the second referenceinformation of FIG. 13C.

Assume that, after the device information of FIG. 13A, the firstreference information of FIG. 13B, and the second reference informationof FIG. 10C are stored, a user specifies the setting of an extendedfunction on the setting screen of FIG. 12 to select an option from theoption list 1230. For example, a user selects “Left” from the optionlist 1230 for the extended function “Z Folding”. Since the column 2620of the first reference information of FIG. 13B contains “5” as a fieldID corresponding to the character string “Z Folding”, as shown in FIG.13D, the row in the column 2500 in the extended area 200 b of theprocessing content corresponding to the field ID “5” contains the flag2510 indicating the presence of the extended function. If the data areexpressed in binary, for instance, “1” indicates that the flag is ON and“0” indicates that the flag is OFF. The row in the column 2500corresponding to the field ID “5” further contains the setting value “1”corresponding to the character string “Left” in the second referenceinformation of FIG. 13C. Then, the processing content having a datastructure as shown in FIG. 13D is stored into the application 410.

After that, if a user makes, on the application 410, a request forprinting by the printer, the printer driver 430 reads the processingcontent from the application 410 in order to generate print datareadable by the printer. The printer driver 430 examines the readprocessing content so as to determine whether the read processingcontent contains unknown information. The printer driver 430 recognizes,as unknown information, the information newly added upon retrieval ofthe device information from the printer. According to this embodiment,in the extended area 200 b of the processing content in FIG. 13D, thefield ID “5” of the field where the flag 2510 is ON, i.e., “1” and thesetting value “1” are recognized as unknown information.

As described above with reference to FIGS. 7 and 8, the printer driver430 retrieves, if unknown information is contained in the processingcontent, a command corresponding to the unknown information from thedevice information in order to generate print data readable by theprinter. The following describes this command retrieval operation ingreater detail with reference to the block diagram of FIG. 7 and theflowchart of FIG. 14.

[Command Retrieval and Data Generation]

FIG. 14 is a flowchart illustrating an example of a command retrievaloperation performed by a printer driver in the case where the processingcontent has a data structure as shown in FIG. 13D.

A user makes a request for printing by a desired printer. Then, in stepS401, the processing content reading unit 741 of the print datagenerating module 432 reads processing content, which has a datastructure as shown in FIG. 13D, stored in the processing content storingunit 731 of the application 410.

In step S402, the processing content reading unit 741 extracts and readsin the fixed area 200 a from the read processing content, and performscommand generation and retrieval operations of step S302 through S309 asdescribed with reference to FIG. 11 in Embodiment 1.

After completing the above-described fixed area processing, in stepS403, the processing content reading unit 741 extracts and reads in theextended area 200 b from the read processing content. In step S404, thecommand retrieving unit 742 reads out the flags 2510 contained in thecolumn 2500 of FIG. 13D in the order from the first row of the readextended area 200 b. Then, in step S405, the command retrieving unit 742determines whether the flag 2510 is ON (i.e. “1”).

If the flag 2510 is determined to be OFF (i.e. “0”), the processing goesto step S410.

On the other hand, if the flag 2510 is determined to be ON (i.e. “1”),the processing goes to step S406, in which the command retrieving unit742 reads out a field ID and a print setting in the field correspondingto the flag 2510. Then, in step S407, the command retrieving unit 742queries the device information processing module 433 for the read fieldID and the print setting. In step S408, the device informationprocessing module 433 reads out the device information (in thisembodiment, the device information having a data structure as shown inFIG. 13A) stored in the device information storing unit 712, andextracts from the read device information commands corresponding to thefield ID and the print setting for which the command retrieving unit 742queries. Then, in step S409, the device information processing module433 sends the commands to the command retrieving unit 742.

If the flag 2510 in the field of the extended area 200 b correspondingto the field ID “5” is “1” and the print setting value 2520 in thisfield is “1”, the command retrieving unit 742 queries the deviceinformation processing module 433 for the field ID “5” and the printsetting value “1”. In response to the query from the command retrievingunit 742, the device information processing module 433 reads out thedevice information of FIG. 13A stored in the device information storingunit 712. Information about the extended function of the printer in thedevice information of FIG. 13A is associated with the first referenceinformation. Accordingly, the device information processing module 433further reads out the first reference information of FIG. 13B alsostored in the device information storing unit 712. It is determined fromthe first reference information of FIG. 13B that the commandcorresponding to the field ID “5” for which the command retrieving unit742 queries is “ZFOLDING”. Since the command in the first referenceinformation corresponding to the field ID “5” is further associated withthe second reference information, the device information processingmodule 433 further reads out the second reference information of FIG.13C also stored in the device information storing unit 712. It isdetermined from the second reference information of FIG. 13C that thecommand corresponding to the print setting value “1” for which thecommand retrieving unit 742 queries is “LEFT”. Then, the deviceinformation processing module 433 returns the commands “ZFOLDING” and“LEFT” to the command retrieving unit 742.

In this way, the print data generating module 432 can retrieve a commandcorresponding to unknown information, i.e., a command corresponding to afunction newly added to the printer with use of the command retrievingunit 742.

If the flag 2510 is determined to be OFF in step S405, or after acommand is retrieved in steps S406 through S409, in step S410, thecommand retrieving unit 742 determines whether the extended area 200 bcontains another flag 2510 that is not yet read out.

If the extended area 200 b is determined to contain another flag 2510that is not yet read out, the processing returns to step S404 forretrieving a command corresponding to an extended function.

If the determination result shows that all the flags 2510 in theextended area 200 b are read out, the processing goes to step S411. Instep S411, the data generating unit 743 generates print data readable bythe printer, e.g., PJL (Printer Job Language) section of PDL data byusing the commands retrieved or generated by the command retrieving unit742, and sends the print data to the spooler 440.

As is apparent from the above description, if a printer having adifferent function from other printers is connected to the computer ofthis embodiment, the computer stores, as first reference information,new information retrieved from the printer in a manner associated withdevice information that has been stored in the printer driver. Thecomputer also stores, as second reference information, a setting valueindicating detailed information of the new information. Thus, thecomputer retrieves a command corresponding to unknown information fromthe first reference information and a command corresponding to a settingvalue of the unknown information, and can generate print data readableby the printer with use of the retrieved commands.

[Modifications]

Although printer drivers are illustrated in the above description,embodiments of the present invention are applicable to various devicedrivers that convert instructions from an application into dataexecutable by a device, such as scanner drivers and PC-FAX drivers.

The present invention may be embodied not only as a program stored in ahard disk (HD) of an information processing apparatus or a memory unitsuch as a Read-Only Memory (ROM), but also as hardware in an informationprocessing apparatus.

In an embodiment of the present invention, a computer may retrievedevice information at predetermined timings or at asynchronous timings.

The device information may be stored in, e.g., a server as an externalstorage device.

Embodiments of the present invention are applicable not only to devicedrivers and modules compatible with device drivers but also toapplications themselves.

While the present invention has been described in terms of preferredembodiments, it will be apparent to those skilled in the art thatvariations and modifications may be made without departing from thescope of the invention.

The present application is based on Japanese Priority Applications No.2006-152182 filed on May 31, 2006, and No. 2007-113470 filed on Apr. 23,2007, with the Japanese Patent Office, the entire contents of which arehereby incorporated by reference.

1. An information processing apparatus that is connected to a device and generates data processable by the device based on device information about the device, the information processing apparatus comprising: a processing content setting unit that specifies, based on the device information, a processing content to be executed by the device; a command retrieving unit that, if the processing content specified by the processing content setting unit contains unknown information, retrieves a command corresponding to the unknown information from the device information; and a data generating unit that generates, based on the command retrieved by the command retrieving unit and the processing content, data processable by the device.
 2. The information processing apparatus as claimed in claim 1, wherein the device information includes reference information, the reference information containing a setting value that represents a setting of a function executable by the device and a command corresponding to the setting value.
 3. The information processing apparatus as claimed in claim 2, wherein the processing content setting unit specifies the processing content to be executed by the device with the setting value; and the command retrieving unit retrieves, based on the setting value with which the processing content is specified, the command from the reference information.
 4. The information processing apparatus as claimed in claim 1, wherein the device information includes first reference information, the first reference information containing extended function information representing an extended function of the device and an extended function command corresponding to the extended function information; and the first reference information includes second reference information, the second reference information containing an extended function setting value that represents a setting of the extended function and an extended function setting command corresponding to the extended function setting value.
 5. The information processing apparatus as claimed in claim 4, wherein the processing content setting unit specifies the processing content with the extended function information and the extended function setting value; and the command retrieving unit retrieves, based on the extended function information and the extended function setting value with which the processing content is specified, the extended function command and the extended function setting command from the first reference information and the second reference information, respectively.
 6. The information processing apparatus as claimed in claim 5, wherein the processing content includes a fixed area for containing information about an original function of the device and a setting value that represents a setting of the original function, and an extended area for containing the extended function information and the extended function setting value.
 7. The information processing apparatus as claimed in claim 1, further comprising: a setting screen display unit that displays a setting screen for specifying, based on the device information, the processing content to be executed by the device.
 8. The information processing apparatus as claimed in claim 1, further comprising: a command memory unit that stores a command recognizable by the device in a manner associated with a setting value recognizable by the data generating unit; wherein the command retrieving unit determines, if the processing content specified by the processing content setting unit contains a setting value that is not stored in the command memory unit, the setting value as being the unknown information.
 9. A computer-readable recording medium having a program embodied therein for causing an information processing apparatus, the information processing apparatus being connected to a device and generating data processable by the device based on device information about the device, to function as: a processing content setting unit that specifies, based on the device information, a processing content to be executed by the device; a command retrieving unit that, if the processing content specified by the processing content setting unit contains unknown information, retrieves a command corresponding to the unknown information from the device information; and a data generating unit that generates, based on the command retrieved by the command retrieving unit and the processing content, data processable by the device.
 10. The computer-readable recording medium as claimed in claim 9, wherein the device information includes reference information, the reference information containing a setting value that represents a setting of a function executable by the device and a command corresponding to the setting value.
 11. The computer-readable recording medium as claimed in claim 10, wherein the processing content setting unit specifies the processing content to be executed by the device with the setting value; and the command retrieving unit retrieves, based on the setting value with which the processing content is specified, the command from the reference information.
 12. The computer-readable recording medium as claimed in claim 9, wherein the device information includes first reference information, the first reference information containing extended function information representing an extended function of the device and an extended function command corresponding to the extended function information; and the first reference information includes second reference information, the second reference information containing an extended function setting value that represents a setting of the extended function and an extended function setting command corresponding to the extended function setting value.
 13. The computer-readable recording medium as claimed in claim 12, wherein the processing content setting unit specifies the processing content with the extended function information and the extended function setting value; and the command retrieving unit retrieves, based on the extended function information and the extended function setting value with which the processing content is specified, the extended function command and the extended function setting command from the first reference information and the second reference information, respectively.
 14. The computer-readable recording medium as claimed in claim 13, wherein the processing content includes a fixed area for containing information about an original function of the device and a setting value that represents a setting of the original function, and an extended area for containing the extended function information and the extended function setting value.
 15. The computer-readable recording medium as claimed in claim 9, wherein the program causes the information processing apparatus to further function as a setting screen display unit that displays a setting screen for specifying, based on the device information, the processing content to be executed by the device.
 16. The computer-readable recording medium as claimed in claim 9, wherein the command retrieving unit determines, if the processing content specified by the processing content setting unit contains a setting value recognizable by the data generating unit but a command corresponding to which the setting value and recognizable by the device is not retrieved, the setting value as being the unknown information.
 17. An information processing system comprising an information processing apparatus, a device, and a storage unit, wherein the storage unit stores device information about a function executable by the device; the information processing apparatus includes: a device information retrieving unit that retrieves the device information from the storage device; a processing content setting unit that specifies, based on the device information, a processing content to be executed by the device; a command retrieving unit that, if the processing content specified by the processing content setting unit contains unknown information, retrieves a command corresponding to the unknown information from the device information retrieved by the device information retrieving unit; a data generating unit that generates, based on the command retrieved by the command retrieving unit and the processing content, data processable by the device; and a data sending unit that sends the data generated by the data generating unit to the device; and the device includes: a data receiving unit that receives data sent from the information processing apparatus; and a data processing unit that processes data received by the data receiving unit. 